Systems and methods for customer relationship management

ABSTRACT

According to various exemplary embodiments, a social media message posted on a social media system is accessed. Moreover, an agent listed in an agent directory is classified as an expert of content referred to in the social media message, based on a keyword identified in the social media message. Further, an identifier of the agent may be displayed in an expert finder list of a user interface.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the priority benefits of U.S. Provisional Application No. 61/618,541, filed Mar. 30, 2012 and U.S. Provisional Application No. 61/646,052, filed May 11, 2012 which are both incorporated herein by reference in their entirety.

TECHNICAL FIELD

This patent document pertains generally to tools for customer service, and more particularly, but not by way of limitation, to systems and methods for customer relationship management.

BACKGROUND

In conventional approaches to customer service, customer relationship management (“CRM”) call centers of companies receive customer inquiries via traditional channels of communication, such as telephone calls and emails. The customer service agents of the company typically respond to the customers via the same channels of communication, which allows the company to address any customer issues with a degree of privacy and confidentiality.

Now, a new channel for expressing customer issues is emerging—the Social Media space. For example, many companies and other organizations have their own social media presence, such as a TWITTER® feed, or a FACEBOOK® page with a wall, such that users can post messages regarding that company and its products that are widely viewable.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which:

FIG. 1 is a schematic diagram depicting a data flow, within which one example embodiment may be deployed.

FIG. 2 is a block diagram of an example system, according to various embodiments.

FIG. 3 is a block diagram of a social activity management platform, according to various embodiments.

FIG. 4 is a block diagram of a database, according to various embodiments.

FIG. 5 illustrates an example portion of a user interface, according to various embodiments.

FIG. 6 illustrates an example portion of a user interface, according to various embodiments.

FIG. 7 illustrates an example portion of a user interface, according to various embodiments.

FIG. 8 is a flowchart illustrating an example method, according to various embodiments.

FIG. 9 is a flowchart illustrating an example method, according to various embodiments.

FIG. 10 is a flowchart illustrating an example method, according to various embodiments.

FIG. 11 is a flowchart illustrating an example method, according to various embodiments.

FIG. 12 illustrates an example portion of a user interface, according to various embodiments.

FIG. 13 is a flowchart illustrating an example method, according to various embodiments.

FIG. 14 is a flowchart illustrating an example method, according to various embodiments.

FIG. 15 is a flowchart illustrating an example method, according to various embodiments.

FIG. 16 illustrates an example portion of a user interface, according to various embodiments.

FIG. 17 is a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.

DETAILED DESCRIPTION

In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of some example embodiments. It may be evident, however, to one skilled in the art that the present invention may be practiced without these specific details.

Overview

A “social activity management system” described in various embodiments may receive social media postings from social media users and facilitate the management of a company's resources to resolve the problems that are described in the social media postings. The description of problems in the social media postings may be related to a company's products/services. The problems may be resolved by utilizing the resources of the social activity management system including agents, experts, local and third party knowledgebases as well as a multiplicity of internal systems that facilitate the prioritization, management, and resolution of customer problems. To this end, the social activity management system (also referred to as “Service OnDemand” throughout this disclosure) may be utilized to manage interactions with the customer until the problem is resolved.

FIG. 1 is a schematic diagram depicting a data flow with respect to various social activity management systems, such as the aforementioned social activity management system. In particular, FIG. 1 illustrates user case scenarios 10 anticipated in the utilization of the social activity management system to resolve customer problems. The user case scenarios 10 may include social media systems 22 (e.g., social media platforms or social networking platforms) on the left and social activity management system 26 on the right. A typical problem resolution is illustrated. Broadly, a customer 101 on the left posts a social media message (such as a “social feed” 102 about a problem) to the social media systems 22 that, in turn, communicate the social media message 102 to the social activity management system 26 where it is analyzed and prioritized 103 before being inserted into a queue. A service agent 104 may review the queue and assign the social media message to his/her self for resolution. The service agent 104 may clarify the problem by utilizing the social media systems 22 to further communicate with the customer in 105, where the customer may participate in this discussion in 106. Not shown are various systems/services that the service agent 104 may utilize to resolve the problem and provide a solution at 107. These systems are briefly described below and extensively described later in this disclosure. Towards resolution of the problem, the service agent may invite a support engineer 108 to collaborate in 109, where the support engineer 108 may accept the collaboration request at 110. The support engineer 108 may accept the invitation to collaborate at 110 and collaborate with the service agent at 111 in finding a solution to the problem at 107. Finally, the solution may be communicated in social media to the customer at 112. While the service agent 104 and support engineer 108 are shown as being external to the social activity management system 26 in FIG. 1, such agents and engineers may also be viewed as being included in the social activity management system 26, as described in more detail below.

FIG. 2 is a block diagram illustrating a customer relationship management system 20, according to an embodiment that may be implemented to address the previously described user case scenarios 10 (see FIG. 1). The customer relationship management system 20 may include the social media systems 22 (e.g., social media platforms or social networking platforms), a network 24 (e.g., Internet), and the social activity management system 26. The social media system 22 may be utilized by social media users (e.g., users) who operate client computers (not shown) that are connected over the network 24 with the social media system 22 to exchange social media messages/postings with the social activity management system 26. The social media system 22 may be embodied as FACEBOOK®, a social networking service and website launched in February 2004, operated and privately owned by Facebook Inc. of Menlo Park, Calif. or TWITTER®, an online social networking service and microblogging service that enables its users to send and read text-based posts of up to 140 characters, known as “tweets,” operated by Twitter Inc. of San Francisco, Calif. A social media message may be communicated by the customer via one of multiple portals on the social media system 22 (e.g., company wall, etc.) to a particular company and describe a problem with a product or service that is provided by the company. The social media system 22, in turn, may communicate the social media message over the network 24 to the social activity management system 26.

The social activity management system 26 may include a social activity management platform 28 that is coupled to a database 30, and a third party system 32 that is coupled to another database 34. The social activity management platform 28 may communicate over the network 24 with the social media system 22, the third party system 32, and company personal 31 (e.g., service agent) who operate client computers that are connected with the social activity management platform 28. The social activity management platform 28 is further shown to be coupled to a database 30 that stores information.

The social activity management system 26 may communicate contextual content in a single user interface. For example, content identified by the social activity management system 26 (e.g., similar messages, knowledgebase articles, product, customer) may be included in a single user interface, as described in various embodiments below.

FIG. 3 is a block diagram illustrating the social activity management platform 28, according to an embodiment. The social activity management platform 28 may include a prioritized message queue 28 a that includes social media messages 28 a 1, 28 a 2, 28 a 3, etc., as well as multiple systems 2811-2818 respectively including hardware or software modules 2811 a-2818 a that are utilized to manage social media messages, a communication module 2819 that is utilized to communicate with the social media system 22 and a text analysis system 2820, as described below. The systems 2811-2818 may include a queue prioritization system 2811 that includes a queue prioritization module 2811 a, a customer identification system 2812 that includes a customer identification module 2812 a, a similar message system 2813 that includes a similar message module 2813 a, a recommended knowledgebase system 2814 that includes recommended knowledgebase module 2814 a, an interaction history system 2815 that includes an interaction history module 2815 a, a collaboration system 2816 that includes a collaboration module 2816 a, an expert finder system 2817 that includes an expert finder module 2817 a, and a consistent experience system 2818 that includes a consistent experience module 2818 a.

The queue prioritization system 2811 may be utilized to provide auto prioritization of the message queue containing incoming social media messages to help agents focus on high profile customers and key issues. The queue prioritization system may be utilized to evaluate incoming social media messages based on different parameters including but not limited to customer influence, message sentiment, customer level and service level agreement (SLA). These parameters may be computed into a single priority score which determines and assigns a priority (e.g., Urgent, Normal and Low) to each message.

The customer identification system 2812 may be utilized to automatically identify the customer and create a customer record in the database 30. The customer record may be created with information in the customers' social profile. The customer identification system may further map the social customer identity (e.g., social media system identity) to an internal customer record. If there are multiple customers with same name, the customer identification system may display a list of matching customers thereby enabling a service agent to identify a customer based on the available information.

The similar message system 2813 may be utilized to display messages that are similar to the social media message that is presently being processed by the service agent. The similar message may include a response/solution that may be applicable to the social media message and utilized by the service agent to resolve the problem.

The recommended knowledgebase system 2814 may be utilized to recommend articles and other documents to the customer that may be helpful in resolving the problem of the customer. The recommended knowledgebase system may utilize the text analysis system 2820 to perform a text analysis and keyword identification of the social media message to identify a product and issue(s) in the social media message. The recommended knowledgebase system 2814 may utilize the identified product and issue to provide a recommendation of articles to the customer that may be attached as links in a response that is communicated to the customer. The recommended knowledgebase system 2814 may retrieve articles from a knowledgebase repository 3004 that is stored on the database 30 (see FIG. 4) or, via the third party system 32, from a knowledgebase repository that is stored on the database 34 (see FIG. 3).

The interaction history system 2815 may be utilized to respond to the customer, takes notes and collaborate internally with other agents in such a way that all the information is recorded to show a complete history of interactions with the customer in a chronological order. Accordingly, reassignment of the social media message to another agent or escalation to another agent may not hinder the newly assigned agent in responding to the customer because the newly assigned agent may utilize the history of interactions.

The collaboration system 2816 may be utilized to locate specific colleagues and then collaborate with them to resolve the problem described in the social media message. The collaboration system 2816 may ensure that all collaborators have access to information regarding the problem described in the social media message. The collaboration system 2816 may further ensure that interactions between collaborators are contained within the interaction history associated with the social media message.

The expert finder system 2817 may be utilized to automatically identify and present a list of experts that are available to the company based on the text analysis of social media message. The expert finder system 2817 may utilize the text analysis system 2820 to identify the product and other keywords mentioned in the social media message and provide a list of recommended experts within the context of the social media message.

The consistent experience system 2818 may be utilized to automatically aggregate information about the social media messages, other types of messages (e.g., email, telephone, etc.), and interaction history for a particular customer and automatically present this information to the service agent.

According to various embodiments, the above described aspects and/or functions of each of the systems 2811-2818 may be implemented and/or performed by the modules 2811 a-2818 a, respectively (see FIG. 3), which may correspond to hardware modules or software modules executed by one or more processors.

FIG. 4 is a block diagram illustrating the database 30, according to an embodiment. The database 30 may store customer information 3001, company resource information 3002, product information 3003, a knowledgebase repository 3004, configuration information 3005 and message information 3006. The customer information 3001 may be customer records that include information that describe the customer (e.g., identity information) and information that describes interactions with the customer. The company resource information 3002 may include a personal profile for each of the employees of the company including the domains in which a particular employee has acquired knowledge that may be useful in resolving problems and a level of sufficiency for each of the domains. The product information 3003 may include product catalogues including profiles describing products. The knowledgebase repository 3004 may be utilized to store articles and other documents that may be communicated to customers to facilitate a resolution of a problem. The configuration information 3005 may include parameters that may be configured by an administrator of the social activity management platform to customize one of the above mentioned systems.

1: Interaction History

In conventional customer service practice, multiple agents often end up working on a complaint to solve customer issues, and each of the agents may maintain their own history of their interactions with customers while they attempt to resolve the customer's issues. As a result, maintaining a single, complete and accurate interaction history for all customer service interactions with a particular customer is very challenging, and there is a high probability for important information may be lost. Also, internal collaboration that takes place between agents to solve complex issues is not recorded appropriately. Even notes taken by an agent for a customer's complaint may be hard to interpret due to lack of chronological and in-context placement.

According to an exemplary embodiment, the social activity management platform 28 provides a means to respond to the social media customers, take notes and collaborate internally with other agents in such a way that all the information is recorded to show complete interaction history in a chronological order. Accordingly, a reassignment of a message to another agent or an escalation of the message to a higher review level does not hinder the new agent in quickly coming up to speed on previous interactions, thereby facilitating an appropriate quick, and efficient response.

The social activity management platform 28 first collects and accesses all customer messages and posts relevant to a company. For example, in one embodiment, the communication module 2819 may crawl through all the social media messages posted on a social media platform such as Facebook and Twitter that refer to the company or its products, and/or crawl through all the messages/posts on the company's own stream, page or wall. In yet another embodiment, the communication module 2819 may retrieve or be fed the messages from application programming interfaces that are exposed by the respective social medial platforms.

FIG. 5 illustrates an exemplary user interface 500 of the interaction history system 2815 according to an exemplary embodiment. The user interface 500 may include a customer identification area 501, a product identification area 502, a message activity area 503, and a solution finder area 504.

The customer identification area 501 may include identification information describing the identity of the customer that submitted the current social media message. The identification information (such as name, username, email, location gender, contact #, classification) may be retrieved from the message. For example, the interaction history system 2815 may instruct the text analysis system 2820 to perform a text analysis of the content (e.g. words) of the social media message to detect the aforementioned identification information in the social media message. The identification information may also include information describing the customer that was retrieved from the company's internal customer records (e.g., customer information 3001 in FIG. 4) or from publically available social media profiles, such as message sentiment history, and internal customer classification as “platinum” customer or “gold” customer, etc. The identification information describing the customer may be generated by the customer identification system 2812. In one embodiment, the customer identification system 2812 may include a customer identification module that performs the functions performed by the customer identification system 2812.

The product identification area 502 may include product information describing a product that was identified in the current social media message. According to an embodiment, the product information may be identified with a text analysis of the message. For example, the interaction history system 2815 may request the text analysis system 2820 to perform a text analysis of the content (e.g. words) of the message, in order to determine a particular product that is the referenced by the message. For example, the interaction history system 2815 may access an internal list or database of known products such as “TV”, “processor”, “camera 600D” and so forth (e.g., product information 3003 in FIG. 4) that, if detected through text analysis, indicates a particular product that is referenced by the message. The product identification area 502 is then utilized by the interaction history system 2815 to display the product information.

The solution finder area 504 may include different types of information, including various possible contextualized solutions to resolve the problem described in the current message. For example, the similar message system 2813 may generate and display similar messages (and associated replies by customer service agents) which have been determined by the similar message system 2813 to be similar and/or relevant to the current message.

The message activity area 503 may be generated and displayed by the interaction history system 2815. The interaction history system 2815 may generate and display a complete chronological interaction history associated with the current message and the customer that submitted that current message, including all interactions between all customer service representatives of an entity/company and the customer, with regards to the current message. As illustrated in FIG. 5, the message activity area 503 may display the current social media message 503 a that is received/accessed by the social activity management platform 28. Moreover, the message activity area 503 may display multiple other messages, communications, notes, etc., that chronicle the resolution of the problems or issues described in the current social media message 503 a.

More specifically, the message activity area 503 may be utilized to display the current social media message 503 a, typically in the same format in which it appears on the social media system 22. The social media message 503 a that is presently assigned to the agent is shown to be further supplemented with other information that was retrieved from the social media system 22 including time and place of posting the message, the number of likes, comments, shares, follows, views, repostings, etc., of the message, as well as any media files (e.g. video, audio, photos) that the customer posted to the social media system 22 in connection with the message. The message activity area 503 may also include a chronological history of all internal actions that have been taken by employees with regards to this message. For example, as seen in FIG. 5, the message activity area 503 may include: a message 503 b including an internal message number assigned to the social media message and indicate a particular company customer service agent that is assigned to handle the message; a message 503 c which may be a post or query from the customer service agent to another company staff, and any responses 503 d from the other company staff. Such messages may include links to (or attachments of) various documentation or articles that the customer service agent has identified as being relevant to the problems or issues identified via the social media message 503 a that is currently being processed. Thus, a company employee (e.g., customer service agent, product expert, project manager, etc.) who accesses the user interface 500 to view the social media message may also view a chronological history of internal actions of other company employees with regards to the social media message.

The message activity area 503 may also show communications with the external customer that posted the message. For example, the message activity area 503 may include a message 503 e that was authored by a customer service representative and communicated to the author of the social media message 503 a that is currently being processed, as well as a response 503 f that is communicated from the author of the response 503 f to the customer service agent. The message 503 e may include a link to (or attachment of) a relevant article for the customer to view, in order to assist the customer in solving a particular problem.

The message activity area 503 may include a message composing area 505 for the customer service agent to draft a response message to respond to the customer that sent the message 503 a. The message composing area 505 may include an input box that receives text for a response message, as well as a social media user interface element (e.g.,“Facebook” tab), a feed user interface element (e.g, “Feed” tab) and a notes user interface element (e.g., “Notes” tab). The aforementioned user interface elements may correspond to, for example, user-selectable buttons.

When the customer service agent selects the social media interface element (e.g.,“Facebook” tab), a response message may authored by the customer service agent. Further, the response message may be sent directly to the customer via the social media system 22 (e.g., as a private message, such as a private Facebook message) responsive to the agent selecting the “Send Direct Message” button. Alternatively, the response message may be posted as a publically viewable comment in response to the customer's original message posting on the social media system responsive to the customer service agent selecting the “Share” button (e.g., if the user originally posted the original social media message on a webpage of the social networking platform, such as the user's profile page, the profile page of a company/entity, subpage or product-specific webpage of the company/entity, etc., then the response message may be posted on that same webpage, as a response or comment to the user's original social media message). After the response message is submitted, the response message may also be displayed in the message activity area 503, thereby forming part of the interaction history with the customer. For example, the message activity area 503 may include a Facebook post 503 e originating from a customer service agent to the author of the current message 503 a, as well as a response 503 f via Facebook from the author to the customer service agent.

While the message composing area 505 of FIG. 5 is shown to illustrate a “Facebook” user interface element, it should be understood that a response message may be communicated to other social media systems 22 from which the current message (e.g., assigned message) is received, such as Twitter. Thus, the message composing area 505 may enable the agent to transmit a response to the customer using other external channels of communication. In other embodiments, the message composing area 505 may also include an “email” user interface element that, if selected by the customer service agent enables a communication of a message to the email address of the recipient. The email address of the customer may be automatically obtained from the customer information in the customer identification area 501. According to another embodiment, the message composing area 505 may also include a “chat” user interface element that, if selected by the customer service agent enables a communication of the chat message to a chat username of the recipient to be transmitted via an appropriate chat application or online chat venue. The chat username for the customer may be obtained from the customer information in the customer identification area 501. As another example, the message composing area 505 may also include a “phone” user interface element that, if selected by the customer service agent, may initiate a telephone call to the customer. The phone number for the customer may be obtained from the customer information in the customer identification area 501. Any communication between the customer service agent and the user may be recorded and displayed in the message activity area 503. For example, the message activity area 503 may include may maintain a history of phone calls, phone call times, who called whom, etc.

When the customer service agent selects the “Feed” user interface element in the message composing area 505 illustrated in FIG. 5, the agent may communicate the text in the message composing area 505 into a collaboration channel that is internal to the social activity management system 26 (e.g., internal to a company or entity). The “Feed” enables the agent to communicate with other users in the company for the purpose of collaborating to resolve the problem. Messages that are communicated into the “Feed” may be displayed in the interaction history of the message activity area 503. According to an embodiment, the messages communicated into the “Feed” may be communicated to users that are identified as being associated with the product classification that has been identified in the message (e.g, assigned message) with the text analysis feature, as previously described. For example, users identified as being associated with a product classification of “Ipods” may include product experts, senior agents and managers.

When the agent selects the “notes” user interface element in the message composing area 505 illustrated in FIG. 5, the user may compose any notes, such as notes taken in the course of solving the customer's issue, notes from a phone call conversation, or reminders for future actions by the agent or another staff member. The notes may be persistently stored and displayed in the message activity area 503 in chronological order, for all company staff to view. An example of a note is illustrated in the message activity area 503 of FIG. 5 as note 503 g.

The message activity area 503 may also display various automated alerts regarding, for example, the current priority level of the ticket for responding to the message. For instance, an alert may state that ‘customer service agent A has raised the priority of the ticket from medium to high’. Such automated alerts are published into the feed and displayed in chronological order, for all company employees to follow.

The above described aspects and/or functions of the interaction history system 2815, according to an embodiment, may be implemented and/or performed by the interaction history module 2815 a (see FIG. 3), which may correspond to a hardware module or a software module executed by one or more processors.

2: Collaboration

Often in conventional customer service practice, when customer service agents are working on complex or non-familiar issues and domains, they take help from their fellow agents, product experts, legal experts, etc. Usually, these agent-expert interactions take place via email, chat, phone, and/or in-person. In most of these scenarios, sharing all the information related to a given issue is difficult as it gets fragmented across these mediums and cannot be utilized in a quick and efficient manner.

According to an exemplary embodiment, the social activity management platform 28 offers a way to find the right colleagues and then collaborate with them to resolve a problem/issue that is identified in a message that is received from a social media system. This ensures that all collaborators may access information regarding that issue from the beginning. In addition, interaction of collaborators may be contained within the interaction history associated with a particular social activity message. This proves very helpful when the social activity message is accessed by someone new or when this information is needed in the future.

FIG. 6 illustrates a user interface 600 of the social activity management platform 28 of this exemplary embodiment. Portions of the user interface 600 may be generated by the interaction history system 2815 and/or the collaboration system 2816. The user interface 600 of FIG. 6 is similar to the user interface 500 illustrated in FIG. 5, and includes the customer identification area 601 (similar to 501), product identification area 602 (similar to 502), message activity area 603 (similar to 503), and solution finder area 604 (similar to 504), similar to the callouts described above.

The message composing area 605 illustrates a result after the “Feed” user interface element (in the message composing area 505 illustrated in FIG. 5) has been selected. The feed, as mentioned above, may be a company's internal communication/ collaboration mechanism, wherein each company employee may have a feed message account via which they can receive private messages, and wherein each company employee may further have an employee message wall (similar to a social networking profile page) that is viewable by everyone in the company. Thus, when the customer service agent selects the feed option, the collaboration system 2816 allows the customer service agent to communicate directly with other staff (e.g. other customer service agents, product experts, etc.) within the company.

As illustrated in FIG. 6, the selection of the “Feed” user interface element displays a message composing area that allows the agent to draft a message. When the agent starts to type a name, the collaboration system 2816 compares any entered alphanumeric characters against the company's internal employee directory, and automatically displays possible matches for the employee member the user is attempting to communicate with.

When then agent enters “@” before they enter the characters of the employee name, the message may be posted by the collaboration system 2816 on an internal company wall page corresponding to that user that is viewable company wide. Instead, or in addition, the agent may click a “Share” button, and the message may be posted by the collaboration system 2816 on the internal company wall page. On the other hand, when the agent enters “*” before they enter the characters of the employee name, the message may be transmitted by the collaboration system 2816 directly to a company message account of that user, as a private message. Instead, or in addition, the agent may click the “Send Direct Message” button, and the message may be posted by the collaboration system 2816 on the internal company wall page. In either case, the messages may be displayed in the message activity area 603 associated with the original social media message.

Thus, in the feed mode, an agent may post a message on another employee's feed wall, or send a mention or private message to internal colleagues, to consult or ask for a solution, and all this information and the corresponding responses are recorded in the interaction history displayed in the message activity area 603. An example of such messages representing internal communications between agents (or other company employees) transmitted via the “feed” option are messages 603 a and 603 b illustrated in FIG. 6. If the customer service agent selects the dropdown menu 603 c, the customer service agent may select the type of information displayed in the message activity area 603, such as external communications with the customer that composed the social media message (e.g., via the “Facebook” user interface element), or internal “feed” communications with other company employees (e.g., via the “feed” user interface element), or both of the above, etc.

Although not illustrated in FIG. 5 or FIG. 6, the message activity area 503/603 may also include other comments posted by other social media users on the social media system 22, in response to an original social media message. For example, FIG. 7 illustrates another exemplary message activity area 706, where the original message 706 a is displayed, as are comments 706 b and 706 c posted by other users on the social media system 22 in response to a social media message 706 a that was originally posted. As described above, all the information displayed in the message activity area 706 may be displayed in chronological order (e.g., most recent at the top). In the exemplary message activity area 706, if the agent clicks on the “Facebook” button 706 d, then only external communications with the customer that composed the social media message 706 a may be displayed in the message activity area 706. On the other hand, if the agent clicks on the “Feed” button 706 e, then only internal “feed” communications with other company employees may be displayed in the message activity area 706.

FIG. 8 is a flowchart illustrating an example method 800, according to an embodiment. The method 800 may be performed at least in part by, for example, the interaction history system 2815 and/or the collaboration system 2816 illustrated in FIG. 3 (or an apparatus having similar modules). In 801, the interaction history system 2815 may display an interaction history window in a customer service user interface (e.g., window 503 in user interface 500 illustrated in FIG. 5). The interaction history window may be configured to display (1) a social media message (e.g., message 503 a) posted by a social media user on a social media system 22 and (2) a chronological history of communications associated with the social media message (e.g., messages 503 b-503 g). The chronological history displayed in the interaction history window may include previous internal communications between one or more company agents (e.g., messages 503 c and 503 d), and previous external communications between the one or more company agents and the social media user (e.g., messages 503 e and 503 f). In 802, the interaction history system 2815 and/or the collaboration system 2816 may display a message composition window in the customer service user interface (e.g., message composition window 505 in user interface 500 illustrated in FIG. 5). The message composition window may be configured to receive input of a response message, as illustrated in FIG. 5. Accordingly, a sub-step of 802 may include receiving input of a response message via the message composition window. In 803, the interaction history system 2815 and/or the collaboration system 2816 may transmit the response message as a new internal communication addressed to a company agent or a new external communication addressed to the social media user. In 804, the interaction history system 2815 and/or the collaboration system 2816 may insert the new internal communication or the new external communication (transmitted in 803) into the chronological history displayed in the interaction history window.

FIG. 9 is a flowchart illustrating an example method 900, according to an embodiment. The method 900 may be performed at least in part by, for example, the interaction history system 2815 or the collaboration system 2816 illustrated in FIG. 3 (or an apparatus having similar modules). 901 and 902 are substantially similar to 801 and 801, respectively, as illustrated in FIG. 8. In 903, the interaction history system 2815 and/or the collaboration system 2816 may receive a selection of an interface element displayed in the message composition window. For example, the interaction history system 2815 may receive a selection of a social media user interface element displayed in the message composition window (e.g., “Facebook” tab in message composition window 505). As another example, the collaboration system 2816 may receive a selection of an internal feed user interface element displayed in the message composition window (e.g., “Feed” tab in message composition windows 505, 605).

In 904, the interaction history system 2815 and/or the collaboration system 2816 may transmit the inputted response message (inputted in 902), based on the user selection received in 903. For example, if the social media user interface element was selected in 903, then the interaction history system 2815 may transmit the inputted response message as an external communication to (1) a private social media message account associated with the social media user, or (2) a social media page of the social media platform (e.g., the social media page on which the original social media message was posted). As another example, if the internal feed user interface element was selected in 903, then the collaboration system 2816 may transmit the inputted response message as an internal communication to (1) an internal company private message address associated with the company agent, or (2) an internal company profile page associated with the company agent. In 905, the interaction history system 2815 and/or the collaboration system 2816 inserts the new internal communication or the new external communication (transmitted in 904) into the chronological history displayed in the interaction history window.

In 906, the interaction history system 2815 and/or the collaboration system 2816 may receive a reply message replying to the new internal communication or the new external communication (transmitted in 904). In 907, the interaction history system 2815 and/or the collaboration system 2816 may insert the reply message (received in 906) into the chronological history displayed in the interaction history window.

In 908, the interaction history system 2815 and/or the collaboration system 2816 may receive a user selection of a filter user interface element displayed in the interaction history window. In 909, the interaction history system 2815 and/or the collaboration system 2816 filters the chronological history displayed in the interaction history window, the filtered chronological history including only previous internal communications between one or more company agents or only previous external communications between the one or more company agents and the social media user. Various elements of method 900 may be omitted or rearranged, as necessary.

Various aspects referred to in 903 and 904 in FIG. 4 are now elaborated upon in further detail. FIG. 10 is a flowchart illustrating an example method 1000, according to various embodiments. The method 1000 may be performed at least in part by, for example, the collaboration system 2816 illustrated in FIG. 3 (or an apparatus having similar modules). 1000-1005 in FIG. 10 may replace 903 and 904 in FIG. 9. In 1001, the collaboration system 2816 may receive a selection of an internal feed user interface element displayed in the message composition window (e.g., “Feed” tab in message composition windows 505, 605). In 1002, the collaboration system 2816 may detect a keyword in the social media message associated with a product classification. In 1003, the collaboration system 2816 may determine a company agent associated with the product classification. In 1004, the collaboration system 2816 may automatically address the inputted response message (inputted in 902) to an address/location associated with the company agent determined in 1003. In 1005, the collaboration system 2816 may transmit the inputted response message (inputted in 902) to an internal company private message address associated with the company agent determined in 1003, or an internal company profile page associated with the company agent determined in 1003.

FIG. 11 is a flowchart illustrating an example method 1100, according to various embodiments. The method 1100 may be performed at least in part by, for example, the collaboration system 2816 illustrated in FIG. 3 (or an apparatus having similar modules). 1100-1105 in FIG. 11 may replace 903 and 904 in FIG. 9. In 1101, the collaboration system 2816 may receive a selection of an internal feed user interface element displayed in the message composition window (e.g., “Feed” tab in message composition windows 505, 605). In 1102, the collaboration system 2816 may detect an input in an address field of the message composition window (e.g., see message composition window 605 in FIG. 6). In 1103, the collaboration system 2816 detects a match between the input and one or more company agents listed in an internal company directory. In 1104, the collaboration system 2816 may automatically display the matched company agents as selectable addresses in the message composition window (e.g., see message composition window 605 in FIG. 6). In 1104, the agent may also select one or more of the addresses for the response message being composed in the message composition window. In 1105, the collaboration system 2816 may transmit the inputted response message (inputted in 902) to an internal company private message address associated with the addresses selected in 1104, or an internal company profile page associated with the addresses selected in 1104.

The above described aspects and/or functions of the collaboration system 2816, according to an embodiment, may be implemented and/or performed by the collaboration module 2816 a (see FIG. 3), which may correspond to a hardware module or a software module executed by one or more processors.

3: Expert Finder

Customer service agents typically work on a variety of issues, and often need to consult with various fellow agents, product experts, and legal expert to address these issues. In large organizations, this challenge is even more acute, and agents may have to spend considerable time and effort to find the appropriate person and the information. This challenge affects the productivity level of agents—as well the quality of service organization's output—when they are not able to find the right persons.

According to an exemplary embodiment, the expert finder system 2817 may automatically identify and present a list of experts based on the text analysis of customer message. That is, the expert finder system 2817 identifies the product and other keywords in the message, and provides a list of recommended experts within the context of that message. The agent may fine-tune these results or search for experts based on additional parameters.

For example, the expert finder system 2817 may instruct the text analysis system 2820 to perform a text analysis of the content (e.g. words) of the message, in order to determine a particular product and issue that is referenced in the message. For example, the expert finder system 2817 may access an internal list or database of known products such as “TV”, “processor”, “camera 600D” and so forth (e.g., product information 3003 in FIG. 4) that, if detected in the message through text analysis, indicates a particular product that is referenced by the message. Similarly, the expert finder system 2817 may access a list or database of known issue/problem classification words such as “broken”, “fix”, “troubleshooting” and so forth that, if detected in the message through text analysis, indicates that the message pertains to the problem/issue of a malfunctioning product. After the expert finder system 2817 identifies the problem and issue based on the text analysis and keyword identification process described above, the expert finder system 2817 may provide a recommendation of experts that may assist the customer service agent in responding to the customer's issue.

FIG. 12 illustrates a user interface 1200 of the customer relationship management system of this exemplary embodiment. The user interface 1200 of FIG. 12 is similar to the user interface of FIG. 6, and includes the customer identification area 1201, product identification area 1202, message activity area 1203, and solution finder area 1204, similar to callouts 601-604 described above. (Detail within the areas 1201-1204 is omitted in FIG. 12 in the interests of clarity).The user interface 1200 of FIG. 12 also includes an expert finder area 1206 that displays an expert finder list 1207 of relevant experts recommended by the system, as well as the areas of expertise of these recommended experts. For example, the expert finder area 1206 may be displayed when the “Invite” user interface element 1209 is selected. The recommended experts may be automatically determined by the expert finder system 2817 based on a combination of factors.

For example, the expert finder system 2817 may list in expert finder list 1207 all agents having expertise with the same product listed in the product identification area 1202. For example, the expert finder system 2817 may automatically instruct the text analysis system 2820 to perform a text analysis of the current message in order to identify a product classification and certain keywords in the message that characterize the problem/issue, and tag the message with those keywords. The expert finder system 2817 may then search a database that includes profiles of company employees/outside consultants (e.g., company resource information 3002 in database 30 illustrated in FIG. 4) in order to find and list in expert finder list 1207 experts whose expertise matches and/or approximates the same keywords.

For example, the expertise of the experts may be characterized with keywords/tags that are concatenated to profiles of the experts and stored in a database, to enable an identification of search results based on matching keyword/tags. The expertise of the experts may be determined based on, for example, employee information in a company directory or database, the employee's company page wall, a profile page of the employee (listing their expertise and interests), the employee's work history (e.g. they were assigned to mobile phone or camera divisions), the employee's resume, articles written by the employee, the employee's LinkedIn page, and so on. The expertise of the experts may further be continually updated with keywords/tags based on work history and levels of expertise. For example, an expert may be characterized both with respect to one or more domains of expertise and a level of expertise for each of the domains.

The expert finder area 1206 may further include a search window 1208 to search for other experts or filter the experts already populated in the expert finder list 1207. When the user selects any of the recommended experts displayed in the list in 1207 in the expert finder area 1206, the expert finder system 2817 may automatically insert a boilerplate message in the message composing area at the bottom of the message activity area 1203 that the customer service agent may complete (e.g. using the feed user interface elements described in this disclosure). In this way, while first level agents can handle most requests, the most difficult or important requests may be bumped up to the experts or higher level agents.

The recommended experts listed in the expert list 1207 may be ranked based on their relevance (e.g. the extent to which there is a keyword match, expertise match, product match, etc., with the current message displayed in the message activity area 1203). The current agent may also select a “like” user interface element for a particular element in the expert finder list 1207 to indicate that the expert is very helpful in responding to the current message, thereby moving the expert to a higher position (e.g., towards the top) in the expert finder list 1207. On the other hand, the current agent may also select a “dislike” user interface element for a particular expert in the expert finder list 1207 to indicate that the expert is not relevant or helpful in responding to the current message, thereby moving the expert to a lower position (e.g., towards the bottom) in the expert finder list 1207 or out of the list 1207 entirely.

FIG. 13 is a flowchart illustrating an example method 1300, according to various embodiments. The method 1300 may be performed at least in part by, for example, the expert finder system 2817 illustrated in FIG. 3 (or an apparatus having similar modules). In 1301, the communication module 2819 may access a social media message posted on a social networking platform. In 1302, the expert finder system 2817 may classify an agent listed in an agent directory as an expert of content referred to in the social media message, based on a keyword identified in the social media message. In 1303, the expert finder system 2817 may display an identifier of the agent in an expert finder list of a user interface (e.g., see expert finder list 1206 in user interface 1200 of FIG. 12).

FIG. 14 is a flowchart illustrating an example method 1400, according to various embodiments. The method 1400 may be performed at least in part by, for example, the expert finder system 2817 illustrated in FIG. 3 (or an apparatus having similar modules). In 1401, the communication module 2819 may access a social media message posted on a social networking platform. In 1402, the expert finder system 2817 may associate a keyword identified in the social media message identified in 1401 with a product classification keyword in a database. In 1403, the expert finder system 2817 may detect a match between the product classification keyword and an expertise keyword associated with an agent profile of an agent, the expertise keyword indicating an expertise of the agent. In 1404, the expert finder system 2817 may classify the agent (that was matched in 1403) as an expert of content referred to in the social media message. In 1405, the expert finder system 2817 may display an identifier of the agent in an expert finder list of a user interface (e.g., see expert finder list 1206 in user interface 1200 of FIG. 12). In 1406, the expert finder system 2817 may display the expertise keyword indicating the expertise of the agent in the expert finder list (e.g., see expert finder list 1206 in user interface 1200 of FIG. 12). Various elements of method 1400 may be omitted or rearranged, as necessary.

FIG. 15 is a flowchart illustrating an example method 1500, according to an embodiment. The method 1500 may be performed at least in part by, for example, the expert finder system 2817 illustrated in FIG. 3 (or an apparatus having similar modules). Method 1500 illustrated in FIG. 15 may be performed after, for example, operation 1303 in FIG. 13 or 1406 in FIG. 14. In 1501, the expert finder system 2817 may receive input of a search term in a search window displayed in the user interface (e.g., search window 1208 illustrated in FIG. 12). In 1502, the expert finder system 2817 may filter the expert finder list (e.g., expert finder list 1207 in FIG. 12), based on the search term received in 1501. In 1503, the expert finder system 2817 receives a user selection of one of the exports displayed in the expert finder list (e.g., expert finder list 1207 in FIG. 12). In 1504, the expert finder system 2817 may automatically generate a draft message addressed to the expert selected in 1503, in a message composition window of the user interface (e.g., the bottom of message activity window 1203 illustrated in FIG. 12). In 1505, the expert finder system 2817 may receive user feedback corresponding to an expert displayed in the expert finder list, the user feedback corresponding to positive user feedback or negative user feedback. In 1506, the expert finder system 2817 may adjust an ordering of the expert finder list, based on the user feedback received in 1505. Various elements of method 1500 may be omitted or rearranged, as necessary.

The above described aspects and/or functions of the expert finder system 2817, according to an embodiment, may be implemented and/or performed by the expert finder module 2817a (see FIG. 3), which may correspond to a hardware module or a software module executed by one or more processors.

4: Consistent Experience Across Channels

In the conventional customer service space, unique knowledge about customers and issues rarely flows beyond the service agents who worked on them before or the service organization at the best. Also, customers have to spend more time and effort repeating their identification and other relevant information when they switch from one communication channel (for example, email) to another channel (Social media or phone) in order to interact with the customer service organization. This may result in an inefficient service and unpleasant experience for all the parties involved.

According to an exemplary embodiment, the consistent experience system 2818 of the social activity management platform 28 automatically aggregates the messages, information related to the messages and an interaction history related to a given customer, and presents it to the agent as a complete customer level record without requiring explicit instructions. This empowers the agents to freely engage with customers regardless of channel and with full history of their interactions—from product purchases to product replacements—across various communication channels.

FIG. 16 illustrates a user interface 1600 of the consistent experience system 2818 of this exemplary embodiment, which displays all information regarding a particular customer, as well as all communication between the company and the customer. The user interface 1600 may include a customer identification area 1601 that lists identification information of the customer from which the message originated (such as name, social profile usernames, email, location, address, gender, phone number, contact #, classification). The identification information may also include information obtained from the company's internal customer records (e.g. customer information 3001 illustrated in FIG. 4) or publically available social media profiles, such as message sentiment history, and internal customer classification as “platinum” customer or “gold” customer, etc. The information displayed in the customer identification area 1601 may also indicate products purchased by the customer.

The user interface 1600 may also include a communication window 1602 that displays all interactions between a particular customer and the company across different channels in the form of interaction records. Each interaction record may include a channel user interface element (e.g., an icon) that represents a channel that was utilized for the particular interaction, a message/case identity number, a product identity number, a status, a date and time, an author, contact information (e.g., phone number), a duration (e.g., 5 minutes), and a message body that may include a message. Examples of channels that were utilized for a particular interaction may include social media (e.g, Facebook, Twitter), email, chat, phone, notes from in-person meetings, and so forth, as indicated by user interface elements on the left side of each interaction record.

Thus, by viewing all of the interactions with a customer with use of the user interface 1600 of the consistent experience system 2818, a customer service agent may see the issues this customer has had, how many times he has contacted the company, the sentiment history of the customer (what do they think of the company, based on text analysis and sentiment analysis of all their communications with the company), what kind of interactions has the company had with the customer, and so forth. This information may also be used for analytics purposes (e.g. statistically characterizing the information).

The above described aspects and/or functions of the consistent experience system 2818, according to an embodiment, may be implemented and/or performed by the consistent experience module 2818 a (see FIG. 3), which may correspond to a hardware module or a software module executed by one or more processors.

Modules, Components and Logic

Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied (1) on a non-transitory machine-readable medium or (2) in a transmission signal) or hardware-implemented modules. A hardware-implemented module is tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more processors may be configured by software (e.g., an application or application portion) as a hardware-implemented module that operates to perform certain operations as described herein.

In various embodiments, a hardware-implemented module may be implemented mechanically or electronically. For example, a hardware-implemented module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware-implemented module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware-implemented module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.

Accordingly, the term “hardware-implemented module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily or transitorily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein. Considering embodiments in which hardware-implemented modules are temporarily configured (e.g., programmed), each of the hardware-implemented modules need not be configured or instantiated at any one instance in time. For example, where the hardware-implemented modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different hardware-implemented modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware-implemented module at one instance of time and to constitute a different hardware-implemented module at a different instance of time.

Hardware-implemented modules can provide information to, and receive information from, other hardware-implemented modules. Accordingly, the described hardware-implemented modules may be regarded as being communicatively coupled. Where multiple of such hardware-implemented modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware-implemented modules. In embodiments in which multiple hardware-implemented modules are configured or instantiated at different times, communications between such hardware-implemented modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware-implemented modules have access. For example, one hardware-implemented module may perform an operation, and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware-implemented module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware-implemented modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).

The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.

Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or processors or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.

The one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs).)

Electronic Apparatus and System

Example embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Example embodiments may be implemented using a computer program product, e.g., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable medium for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.

A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.

In example embodiments, operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method operations can also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).

The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In embodiments deploying a programmable computing system, it will be appreciated that that both hardware and software architectures require consideration. Specifically, it will be appreciated that the choice of whether to implement certain functionality in permanently configured hardware (e.g., an ASIC), in temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware may be a design choice. Below are set out hardware (e.g., machine) and software architectures that may be deployed, in various example embodiments.

Example Machine Architecture and Machine-Readable Medium

FIG. 17 is a block diagram of machine in the example form of a computer system 1700 within which instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

The example computer system 1700 includes a processor 1702 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 1704 and a static memory 1706, which communicate with each other via a bus 1708. The computer system 1700 may further include a video display unit 1710 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 1700 also includes an alphanumeric input device 1712 (e.g., a keyboard or a touch-sensitive display screen), a user interface (UI) navigation device 1714 (e.g., a mouse), a disk drive unit 1716, a signal generation device 1718 (e.g., a speaker) and a network interface device 1720.

Machine-Readable Medium

The disk drive unit 1716 includes a machine-readable medium 1722 on which is stored one or more sets of instructions and data structures (e.g., software) 1724 embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 1724 may also reside, completely or at least partially, within the main memory 1704 and/or within the processor 1702 during execution thereof by the computer system 1700, the main memory 1704 and the processor 1702 also constituting machine-readable media.

While the machine-readable medium 1722 is shown in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions or data structures. The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.

Transmission Medium

The instructions 1724 may further be transmitted or received over a communications network 1726 using a transmission medium. The instructions 1724 may be transmitted using the network interface device 1720 and any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks (e.g., WiFi and WiMax networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.

Although an embodiment has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.

Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description. 

What is claimed is:
 1. A method comprising: accessing a social media message posted on a social media system; classifying, using one or more processors, an agent listed in an agent directory as an expert of content referred to in the social media message, based on a keyword identified in the social media message; and displaying an identifier of the agent in an expert finder list of a use interface.
 2. The method of claim 1, further comprising: associating the keyword identified in the social media message with a product classification keyword in a database; and detecting a match between the product classification keyword and an expertise keyword associated with an agent profile of the agent, the expertise keyword indicating an expertise of the agent.
 3. The method of claim 2, further comprising displaying the expertise keyword indicating the expertise of the agent in the expert finder list.
 4. The method of claim 2, wherein the expertise keyword is associated with the agent profile of the agent after detecting the expertise keyword in a profile page associated with the agent, work history information associated with the agent, a resume associated with the agent, or a document associated with the agent.
 5. The method of claim 1, further comprising: receiving input of a search term in a search window displayed in the user interface; and filtering the expert finder list, based on the search term.
 6. The method of claim 1, further comprising: receiving a user selection of a first expert displayed in the expert finder list; and automatically generating a draft message addressed to the first expert in a message composition window of the user interface.
 7. The method of claim 1, further comprising: receiving user feedback corresponding to an expert displayed in the expert finder list, the user feedback corresponding to positive user feedback or negative user feedback; and adjusting an ordering of the expert finder list, based on the user feedback.
 8. A system comprising: a communication module configured to access a social media message posted on a social media system: and an expert finder module implemented by one or more processors and configured to: classify an agent listed in an agent directory as an expert of content referred to in the social media message, based on a keyword identified in the social media message; and display an identifier of the agent in an expert finder list of a user interface.
 9. The system of claim 8, wherein the expert finder module is further configured to: associate the keyword identified in the social media message with a product classification keyword in a database; and detect a match between the product classification keyword and an expertise keyword associated with an agent profile of the agent, the expertise keyword indicating an expertise of the agent.
 10. A non-transitory machine-readable storage medium having embodied thereon instructions executable by one or more machines to perform operations comprising: accessing a social media message posted on a social media system; classifying, using one or more processors, an agent listed in an agent directory as an expert of content referred to in the social media message, based on a keyword identified in the social media message; and displaying an identifier of the agent in an expert finder list of a user interface,
 11. A method comprising: displaying an interaction history window in a customer service user interface, the interaction history window being configured to display a social media message posted by a social media user on a social media system and a chronological history of communications associated with the social media message; displaying, using one or more processors, a message composition window in the customer service user interface, the message composition window being configured to receive input of a response message: transmitting the response message as at least one of a new internal communication addressed to a company agent and a new external communication addressed to the social media user; and inserting at least one of the new internal communication and the new external communication into the chronological history displayed in the interaction history window.
 12. The method of claim 11, wherein the chronological history displayed in the interaction history window includes previous internal communications between one or more company agents and previous external communications between the one or more company agents and the social media user.
 13. The method of claim 11, further comprising: receiving a reply message replying to at least one of the new internal communication and the new external communication; and inserting the reply message into the chronological history displayed in the interaction history window.
 14. The method of claim 11, further comprising: receiving a selection of a social media user interface element displayed in the message composition window; and transmitting the inputted response message to at least one of a private social media message account associated with the social media user and a social media page of the social media system.
 15. The method of claim 11, further comprising: receiving a selection of an internal feed user interface element displayed in the message composition window; and transmitting the inputted response message to at least one of an internal company private message address associated with the company agent and an internal company profile page associated with the company agent.
 16. The method of claim 15, further comprising: detecting a keyword in the social media message associated with a product classification; determining a company agent associated with the product classification; and automatically addressing the inputted response message to the determined company agent.
 17. The method of claim 15, further comprising: detecting an input in an address field of the message composition window; detecting a match between the input and one or more company agents listed in an internal company directory; and automatically displaying the matched company agents as selectable addresses in the message composition window.
 18. The method of claim 11, further comprising: receiving a user selection of a filter user interface element displayed in the interaction history window; and filtering the chronological history displayed in the interaction history window, the filtered chronological history including any one of previous internal communications between one or more company agents and previous external communications between the one or more company agents and the social media user.
 19. A system comprising: an interaction history module configured to display an interaction history window, in a customer service user interface, the interaction history window being configured to display a social media message posted by a social media user on a social media system and a chronological history of communications associated with the social media message; and a collaboration module implemented by one or more processors and configured to: display a message composition window in the customer service user interface, the message composition window being configured to receive input of a response message; transmit the response message as a new internal communication addressed to a company agent: and insert the new internal communication into the chronological history displayed in the interaction history window.
 20. A non-transitory machine-readable storage medium having embodied thereon instructions executable by one or more machines to perform operations comprising; displaying an interaction history window in a customer service user interface, the interaction history window being configured to display a social media message posted by a social media user on a social media system and a chronological history of communications associated with the social media message; displaying a message composition window in the customer service user interface, the message composition window being configured to receive input of a response message; transmitting the response message as at least one of a new internal communication addressed to a company agent and a new external communication addressed to the social media user; and inserting at least one of the new internal communication and the new external communication into the chronological history displayed in the interaction history window. 